package com.study.queue;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;

//阻塞队列
public class BlockingQueueDemo3 {
    public static void main(String[] args) throws InterruptedException {
        //创建阻塞队列
        BlockingQueue<String> blockingQueue = new ArrayBlockingQueue<>(3);
        //第三组：put && take
        blockingQueue.put("a");
        blockingQueue.put("b");
        blockingQueue.put("c");
        // 输出：程序一直未结束，因为空间不够，所以处于阻塞状态，直至将数据插入才结束
        //blockingQueue.put("w");

        System.out.println(blockingQueue.take());
        System.out.println(blockingQueue.take());
        System.out.println(blockingQueue.take());
        // 输出：程序一直未结束，因为队列为空没有取到元素，所以处于阻塞状态，直至将数据取到才结束
//        System.out.println(blockingQueue.take());
    }
}
